package state_pattern;

/**
 * @author 申书航
 * @version 1.0
 *
 * 抽象类，表示状态模式中的状态
 */
public abstract class State {

    protected final Role role;

    /**
     * 构造函数，用于初始化状态的角色
     *
     * @param role 角色
     */
    public State(Role role) {
        this.role = role;
    }

    /**
     * 进入状态时调用的方法
     */
    public abstract void onEnter();

    /**
     * 执行状态的方法
     */
    public abstract void execute();
}

